package com.sys.ai.fo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author LGY
 * Create by 2025/5/8 16:15
 */
@Data
@Accessors(chain = true)
public class SendMessageFO implements Serializable {

    @Schema(description = "发送消息")
    private String message;

    @Schema(description = "模型表id")
    private String modelId;

    @Schema(description = "工作流id")
    private String workflowId;

    @Schema(description = "是否使用深度语义理解")
    private boolean useDeepThing;

    @Schema(description = "请求回答的分组编码")
    private String requestAnswerGroupCode;

    @Schema(description = "请求回答的分组名称")
    private String requestAnswerGroupName;

    @Schema(description = "发出请求的应用编码")
    private String aiAppsId;

    @Schema(description = "是否预览的请求")
    private Boolean hasPreview;

    @Schema(description = "预览参数")
    private PreviewParam previewParam;

    @Schema(description = "是否流式返回")
    private boolean stream = true;

    @Data
    public static class PreviewParam implements Serializable {

        private String prompts;

        private Integer maxTokens;

        private BigDecimal temperature;

        private BigDecimal topP;

        private Integer topK;

        private String knowledgeId;

        private String hasLlmRender;
    }
}
